

export function createElementVNode(vm,tag,data,...children) {
    if(data==null){
        data={}
    }
    let key=data.key
    if(key){
        delete data.key
    }
    return vnode(vm,tag,key,data,children)
}


export function createTextVNode(vm,text) {
    return vnode(vm,undefined,undefined,undefined,undefined,text)
}

// ast做的语法层面的转换，描述语法本身（js css html）
// 虚拟dom描述的是dom元素，可以增加一些自定义属性(dom)
function vnode(vm,tag,key,data,children,text) {
    return {
        vm,
        tag,
        key,
        data,
        children,
        text
    }
}